<?php
// 站点配置
define('SITE_NAME', '健身预约后台管理系统');
define('SITE_URL', 'http://localhost/fitness');
define('ADMIN_EMAIL', 'admin@example.com');

// 数据库配置
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '123456');
define('DB_NAME', 'fitness_db');
define('DB_PORT', '3307');
define('DB_CHARSET', 'utf8mb4');

// 文件上传配置
define('UPLOAD_PATH', '../api/user/uploads/');
define('MAX_FILE_SIZE', 5 * 1024 * 1024); // 5MB
define('ALLOWED_IMAGE_TYPES', ['jpg', 'jpeg', 'png', 'gif']);

// 分页配置
define('ITEMS_PER_PAGE', 10);

// 时区设置
date_default_timezone_set('Asia/Shanghai');

// 错误报告设置
error_reporting(E_ALL);
ini_set('display_errors', 1);

// 数据库连接函数
function db_connect() {
    static $db = null;
    
    if ($db === null) {
        try {
            $dsn = "mysql:host=" . DB_HOST . ";port=" . DB_PORT . ";dbname=" . DB_NAME . ";charset=utf8";
            $db = new PDO($dsn, DB_USER, DB_PASS);
            $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
            $db->exec("SET NAMES utf8mb4");
        } catch (PDOException $e) {
            die("数据库连接失败: " . $e->getMessage());
        }
    }
    
    return $db;
}

// 自动加载类
spl_autoload_register(function ($class) {
    $file = __DIR__ . '/../classes/' . $class . '.php';
    if (file_exists($file)) {
        require $file;
    }
});

// 开启session
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
 